package cn.daomeng.firebird.core.log;

import cn.daomeng.firebird.core.exception.FirebirdException;

/**
 * @author wf.shu
 * @version 1.0.0.0
 * @since 2019-03-08 15:05
 */
public interface ILogService {
    /**
     * info: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @return 
     */
    void info(String message);
    /**
     * info: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param e  CalorieException 异常内容
     * @return
     */
    void info(String message, FirebirdException e);
    /**
     * info: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param e  CalorieException 异常内容
     * @param objects  message中占位符对应值
     * @return
     */
    void info(String message, FirebirdException e, Object... objects);

    /**
     * info: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param objects  message中占位符对应值
     * @return
     */
    void info(String message, Object... objects);

    /**
     * ERROR: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @return
     */
    void error(String message);
    /**
     * ERROR: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param e  CalorieException 异常内容
     * @return
     */
    void error(String message, FirebirdException e);
    /**
     * ERROR: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param objects  message中占位符对应值
     * @return
     */
    void error(String message, Object... objects);
    /**
     * ERROR: 日出输出
     *
     * @author  wf.shu
     * @since   ${DATE} ${TIME}
     * @version 1.0.0.0
     * @param message 日志输出内容
     * @param e  CalorieException 异常内容
     * @param objects  message中占位符对应值
     * @return
     */
    void error(String message, FirebirdException e, Object... objects);

}
